import { createRouter, createWebHistory } from 'vue-router'
import { constantRoutes } from './routes'
import HomeView from '../views/HomeView.vue'
import Login from '../views/Login.vue'
import MainLayout from '../layout/MainLayout.vue'
import { useAuthStore } from '@/stores/auth'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: constantRoutes // 初始化时只挂载公共路由
})

// 路由守卫注释掉，使用main.ts中的路由守卫
// router.beforeEach(async (to, from, next) => {
//   const authStore = useAuthStore()
  
//   // 初始化认证状态
//   authStore.init()
  
//   // 直接从localStorage检查登录状态，避免Pinia状态同步问题
//   const token = localStorage.getItem('token')
//   const userStr = localStorage.getItem('user')
//   let user = null
  
//   if (userStr && userStr !== 'undefined') {
//     try {
//       user = JSON.parse(userStr)
//     } catch (error) {
//       console.error('路由守卫 - 解析用户信息失败:', error)
//       localStorage.removeItem('user')
//       user = null
//     }
//   }
  
//   const isLoggedIn = !!token && !!user
  
//   console.log('路由守卫 - 目标路径:', to.path)
//   console.log('路由守卫 - localStorage token:', token)
//   console.log('路由守卫 - localStorage user:', user)
//   console.log('路由守卫 - 是否已登录:', isLoggedIn)
  
//   // 处理登录页面
//   if (to.path === '/login') {
//     if (isLoggedIn) {
//       console.log('路由守卫 - 已登录用户访问登录页，重定向到主页')
//       next({ path: '/home' })
//     } else {
//       console.log('路由守卫 - 未登录用户访问登录页，允许访问')
//       next()
//     }
//   }
//   // 处理需要认证的路由
//   else if (to.meta.requiresAuth) {
//     if (!isLoggedIn) {
//       console.log('路由守卫 - 未登录，重定向到登录页')
//       next({ 
//         path: '/login',
//         query: { redirect: to.fullPath }
//       })
//     } else {
//       console.log('路由守卫 - 已登录，允许访问')
//       next()
//     }
//   } 
//   // 其他页面 - 检查是否在主布局中（需要认证）
//   else if (to.matched.some(record => record.component === MainLayout)) {
//     if (!isLoggedIn) {
//       console.log('路由守卫 - 访问主布局页面但未登录，重定向到登录页')
//       next({ 
//         path: '/login',
//         query: { redirect: to.fullPath }
//       })
//     } else {
//       console.log('路由守卫 - 已登录，允许访问主布局页面')
//       next()
//     }
//   }
//   // 其他公共页面
//   else {
//     console.log('路由守卫 - 其他页面，允许访问')
//     next()
//   }
// })

export default router
